Skip to content

Comments

KVM RISC-V report more ISA extensions through ONE_REG#89

Merged
sterling-teng merged 20 commits intoRVCK-Project:rvck-6.6from
yechao-w:rvck-6.6-kvm-onereg
Sep 7, 2025
Merged

KVM RISC-V report more ISA extensions through ONE_REG#89
sterling-teng merged 20 commits intoRVCK-Project:rvck-6.6from
yechao-w:rvck-6.6-kvm-onereg

Conversation

@yechao-w
Copy link
Contributor

@yechao-w yechao-w commented Aug 6, 2025

kvm虚拟机新增 #79 中new标签的特性支持。

【验证方法】
在qemu仿真器中进行验证。

1. 仿真器版本:
qemu版本:

[root@dev rvck]# /usr/bin/qemu-system-riscv64 --version
QEMU emulator version 10.0.0 (qemu-10.0.0-6)
Copyright (c) 2003-2025 Fabrice Bellard and the QEMU Project developers

仿真器中运行的内核版本为rvck合入此补丁集的版本:

[root@localhost rvck]# uname -a
Linux localhost.localdomain 6.6.101+ #2 SMP Tue Aug  5 07:18:33 EDT 2025 riscv64 riscv64 riscv64 GNU/Linux

2. qemu-kvm虚拟机版本
qemu版本:qemu-10.0.0
内核版本 :rvck内核版本

3. qemu-kvm虚拟机启动命令

/usr/bin/qemu-system-riscv64 \
        -nographic -enable-kvm \
        -machine virt,pflash0=pflash0,pflash1=pflash1,acpi=on,aia=aplic-imsic,accel=kvm \
        -blockdev node-name=pflash0,driver=file,read-only=on,filename="./RISCV_VIRT_CODE.fd" \
        -blockdev node-name=pflash1,driver=file,filename="./riscv_test_VARS.fd" \
        -smp 4,sockets=2,dies=1,clusters=1,cores=2,threads=1 \
        -m 4G \
        -kernel /boot/vmlinuz-6.6.101+ \
        -initrd rootfs.cpio \
        -append "no_hash_pointers crashkernel=128M loglevel=8 no5lvl earlycon console=ttyS0 root=/dev/ram rdinit=sbin/init"
        -object rng-random,filename=/dev/urandom,id=rng0 \
        -device virtio-rng-device,rng=rng0 \
        -device virtio-net-pci,netdev=net1 \
        -netdev tap,id=net1,ifname=vnet1,script=no,downscript=no \
        -cpu host\
        -device qemu-xhci \
        -usb -device usb-kbd \
        -device usb-tablet \
        -chardev socket,id=qmp,path=/var/lib/libvirt/qemu/riscv-test,server=on,wait=off \
        -mon mode=control,chardev=qmp

4. 特性验证
虚拟机启动成功后,登陆虚拟机执行: cat /proc/cpuinfo

~ # uname -a
Linux (none) 6.6.101+ #2 SMP Tue Aug  5 07:18:33 EDT 2025 riscv64 GNU/Linux
~ # cat /proc/cpuinfo
processor       : 0
hart            : 0
isa             : rv64imafdc_zicbom_zicboz_ziccrse_zicntr_zicond_zicsr_zifencei_zihintntl_zihintpause_zihpm_zimop_zabha_zacas_zawrs_zfa_zfh_zfhmin_zca_zcb_zcd_zcmop_zba_zbb_zbc_zbkb_zbkc_zbkx_zbs_zknd_zkne_zknh_zkr_zkt_zksed_zksh_ztso_zvbb_zvbc_zvfh_zvfhmin_zvkb_zvkg_zvkned_zvknha_zvknhb_zvksed_zvksh_zvkt_smnpm_smstateen_ssaia_sscofpmf_ssnpm_sstc_svadu_svinval_svnapot_svpbmt_svvptc
mmu             : sv48
mvendorid       : 0x0
marchid         : 0x0
mimpid          : 0x0

processor       : 1
hart            : 1
isa             : rv64imafdc_zicbom_zicboz_ziccrse_zicntr_zicond_zicsr_zifencei_zihintntl_zihintpause_zihpm_zimop_zabha_zacas_zawrs_zfa_zfh_zfhmin_zca_zcb_zcd_zcmop_zba_zbb_zbc_zbkb_zbkc_zbkx_zbs_zknd_zkne_zknh_zkr_zkt_zksed_zksh_ztso_zvbb_zvbc_zvfh_zvfhmin_zvkb_zvkg_zvkned_zvknha_zvknhb_zvksed_zvksh_zvkt_smnpm_smstateen_ssaia_sscofpmf_ssnpm_sstc_svadu_svinval_svnapot_svpbmt_svvptc
mmu             : sv48
mvendorid       : 0x0
marchid         : 0x0
mimpid          : 0x0

processor       : 2
hart            : 2
isa             : rv64imafdc_zicbom_zicboz_ziccrse_zicntr_zicond_zicsr_zifencei_zihintntl_zihintpause_zihpm_zimop_zabha_zacas_zawrs_zfa_zfh_zfhmin_zca_zcb_zcd_zcmop_zba_zbb_zbc_zbkb_zbkc_zbkx_zbs_zknd_zkne_zknh_zkr_zkt_zksed_zksh_ztso_zvbb_zvbc_zvfh_zvfhmin_zvkb_zvkg_zvkned_zvknha_zvknhb_zvksed_zvksh_zvkt_smnpm_smstateen_ssaia_sscofpmf_ssnpm_sstc_svadu_svinval_svnapot_svpbmt_svvptc
mmu             : sv48
mvendorid       : 0x0
marchid         : 0x0
mimpid          : 0x0

processor       : 3
hart            : 3
isa             : rv64imafdc_zicbom_zicboz_ziccrse_zicntr_zicond_zicsr_zifencei_zihintntl_zihintpause_zihpm_zimop_zabha_zacas_zawrs_zfa_zfh_zfhmin_zca_zcb_zcd_zcmop_zba_zbb_zbc_zbkb_zbkc_zbkx_zbs_zknd_zkne_zknh_zkr_zkt_zksed_zksh_ztso_zvbb_zvbc_zvfh_zvfhmin_zvkb_zvkg_zvkned_zvknha_zvknhb_zvksed_zvksh_zvkt_smnpm_smstateen_ssaia_sscofpmf_ssnpm_sstc_svadu_svinval_svnapot_svpbmt_svvptc
mmu             : sv48
mvendorid       : 0x0
marchid         : 0x0
mimpid          : 0x0

cpuinfo中包含了new标签的扩展特性。

@wangliu-iscas
Copy link
Collaborator

/check

@oervci
Copy link

oervci commented Aug 21, 2025

开始测试

@oervci
Copy link

oervci commented Aug 21, 2025

@oervci
Copy link

oervci commented Aug 21, 2025

Kernel build success!

@oervci
Copy link

oervci commented Aug 21, 2025

@oervci
Copy link

oervci commented Aug 21, 2025

@wangliu-iscas
Copy link
Collaborator

/check

@oervci
Copy link

oervci commented Aug 27, 2025

开始测试

@oervci
Copy link

oervci commented Sep 2, 2025

@oervci
Copy link

oervci commented Sep 2, 2025

Kernel build success!

@oervci
Copy link

oervci commented Sep 2, 2025

@oervci
Copy link

oervci commented Sep 2, 2025

Lava check done! result url: https://lava.oerv.ac.cn/results/613/0_rvck_common-test_qemu

@oervci
Copy link

oervci commented Sep 2, 2025

Lava check done! result url: https://lava.oerv.ac.cn/results/614/0_rvck_common-test_qemu

@sterling-teng
Copy link
Contributor

该补丁系backport自上游社区,主要是规范实现,较少函数功能实现。

该pr进入物理机器验证阶段,通过后尝试合并。

@sterling-teng sterling-teng merged commit c6d05fe into RVCK-Project:rvck-6.6 Sep 7, 2025
0 of 2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants